In the field of authentication, there are generally three possible ways for a user to authenticate. The authentication can depend on what the user knows, for example, a password; what the user is, for example a fingerprint or a retinal pattern; or what the user has, for example, trusted hardware such as a keyed smart card or the like. As telecommunication and data networks continue to proliferate, the issue of network security becomes more and more important. Any one of the above alternatives is conventionally thought to provide good authentication.
At one time, a conventional logon procedure, in which the user provided a user name or logon and a password to gain access to network services, provided adequate authentication for most purposes. While such a level of security remains sufficient for many applications, the increasing availability of such services as financial services, retail shopping, and healthcare information services over publicly accessible networks dictates a need for a level of authentication that cannot be provided through the use of simple password-based logon procedures, without more.
Confounding the issue is the fact that passwords are easily compromised. Passwords can be compromised in a number of ways. Users often keep their passwords written on easily found Post-It® notes or scraps of paper, instead of committing them to memory. Users may disclose their passwords to friends and co-workers. What's more, users are often unwilling to keep track of multiple passwords for different applications, so they end up using a single default password, although security experts strongly recommend use of a unique password for each application. Hackers can use computer programs capable of systematically trying various alphanumeric combinations to launch brute force attacks on systems they are trying to access until a combination is found that grants them access to the targeted system.
Establishing trust between a client and a server machine through the mere provision of a password is insufficient for transactions involving highly sensitive information. As such transactions become commonplace, the need for a relatively uncomplicated way of establishing higher levels of trust between becomes more acute. One way of providing increased trust is through the combination of at least two of the three alternatives described above. It is generally thought that combining two methods of authentication provides an excellent level of trust.
The art provides examples of various schemes for establishing higher levels of trust. For example, M. Ensor, T. Kowalski, A. Primatic, User-transparent Security method and apparatus for authenticating user terminal access to a network, U.S. Pat. No. 5,721,780 (Feb. 24, 1998) describe a method and apparatus for implementing security in data and telecommunications networks that is independent of and transparent to users. When a user terminal connects to a network control center, the network control center generates an encrypted password based on the user terminal's network coupling identifier. The password is downloaded to the terminal and simultaneously saved by the network control center. Subsequently, when a user attempts to access the network, the network control center retrieves the password from the terminal and compares it with the stored copy. If there is a match, network access is granted. With each logon from the terminal, a new password is generated and downloaded to the user terminal.
While the exchange of passwords described by Ensor, et al. allows a user terminal to be established as trusted on a session-by-session basis, the trust is based on a static designation that provides no information about the terminal's usage history. Furthermore, Ensor, et al. fail to contemplate combining the method described with other methods of authentication to provide superior quality authentication.
K. Seamons, W. Winsborough, Trust negotiation in a client/server data processing network using automatic incremental credential disclosure, U.S. Pat. No. 6,349,338 (Feb. 19, 2002) describe a system in which trust is negotiated between two unfamiliar data processing apparatus by incrementally exchanging credentials. Providing multiple opportunities for exchange of credentials makes it possible to negotiate a high level of trust between two machines previously unfamiliar with each other than a single exchange of credentials. The approach provided by Seamons, et al. involves the iterative exchange of credentials and credential access policies, wherein the credentials are primarily issued by various third parties and describe the holder of the credential. The approach does not contemplate establishing a machine as a trusted machine based on historical usage of the machine that doesn't involve multiple exchanges of third party credentials. There is also no teaching of combining the approach with other approaches to provide an even higher level of trust.
K. Shin, K. Kobayashi, T. Aratani, Device and method for authenticating access rights to resources, U.S. Pat. No. 5,987,134 (Nov. 16, 1999) provides an approach that requires several different components including challenging data, user identifying information and an access ticket. Shin, et al. are primarily concerned with authenticating a user, rather than establishing a particular piece of hardware as trusted. They do not contemplate using historical usage information in combination with other means of authentication as a means of negotiating a high level of trust.
It would advance the art significantly to provide a means of establishing a particular piece of hardware, such as a client machine, as trusted hardware. It would be desirable to provide a method of establishing a trusted machine based on the machine's history of use, eliminating the necessity of exchanging credentials issued by third parties such as certification authorities. Furthermore, it would be a great advantage to provide a way of negotiating increased trust by combining historical usage information from a trusted machine with other authentication methods, such as user passwords.